package com.aspose.cells.a.b.a;

import com.aspose.cells.DateTime;
import com.aspose.cells.b.a.zk;

public abstract class zc {
   private static String[] a = new String[]{"HH:mm:s.fffffffzzz", "HH:mm:s.fffffff", "HH:mm:s tt zzz", "HH:mm:szzz", "HH:mm:ss", "HH:mzzz", "HH:mm", "HH tt", "HH'時'mm'分'ss'秒'"};
   private static String[] b = new String[]{"yyyy/M/dT", "M/yyyy/dT", "yyyy'年'M'月'd'日", "yyyy/d/MMMM", "yyyy/MMM/d", "d/MMMM/yyyy", "MMM/d/yyyy", "d/yyyy/MMMM", "MMM/yyyy/d", "yy/d/M"};
   private static String[] c = new String[]{"yyyy/M/dT", "M/yyyy/dT", "yyyy'年'M'月'd'日", "yyyy/MMMM/d", "yyyy/d/MMM", "MMMM/d/yyyy", "d/MMM/yyyy", "MMMM/yyyy/d", "d/yyyy/MMM", "yy/MMMM/d", "yy/d/MMM", "MMM/yy/d"};
   private static String[] d = new String[]{"yyyy/M/dT", "M/yyyy/dT", "yyyy'年'M'月'd'日", "yyyy/MMMM/d", "yyyy/d/MMM", "d/MMMM/yyyy", "MMM/d/yyyy", "MMMM/yyyy/d", "d/yyyy/MMM", "d/MMMM/yy", "yy/MMM/d", "d/yy/MMM", "yy/d/MMM", "MMM/d/yy", "MMM/yy/d"};
   private static String[] e = new String[]{"yyyy/M/dT", "M/yyyy/dT", "yyyy'年'M'月'd'日", "yyyy/MMMM/d", "yyyy/d/MMM", "MMMM/d/yyyy", "d/MMM/yyyy", "MMMM/yyyy/d", "d/yyyy/MMM", "MMMM/d/yy", "MMM/yy/d", "d/MMM/yy", "yy/MMM/d", "d/yy/MMM", "yy/d/MMM"};
   private static String[] f = new String[]{"MMMM/d", "d/MMM", "yyyy/MMMM"};
   private static String[] g = new String[]{"d/MMMM", "MMM/yy", "yyyy/MMMM"};

   private static zf a(String var0, String var1, String var2, boolean var3, DateTime var4, zb var5, com.aspose.cells.b.a.c.zb var6, zd var7, boolean var8, boolean var9, boolean var10) {
      String var11 = null;
      String var12 = null;
      zf var13 = new zf();
      var13.c(var10);
      var13.b(var9);
      boolean var14 = false;
      boolean var15 = false;
      boolean var16 = false;
      var13.a(new zb(0, zk.a));
      boolean var10000;
      if (var8 && "".equals(var2)) {
         var10000 = true;
      } else {
         var10000 = false;
      }

      boolean var18 = !var3 && var2 != null;
      var13.b(false);
      int var19 = 0;
      String var20 = var1;
      boolean var21 = false;
      com.aspose.cells.b.a.c.zb var22 = com.aspose.cells.b.a.c.zb.b();
      if (var1.length() == 1) {
         var20 = ze.a(var1.charAt(0), var6, var14, var15);
      }

      var13.a(new DateTime(0L));
      if (var20 == null) {
         var13.a(false);
         return var13;
      } else {
         if (var7.a()) {
            var20 = var20.replaceAll("^\\s+", "");
            var0 = var0.replaceAll("^\\s+", "");
         }

         if (var7.b()) {
            var20 = var20.replaceAll("\\s+$", "");
            var0 = var0.replaceAll("\\s+$", "");
         }

         if (var15) {
            var6 = var22;
         }

         if (var7.c()) {
            var16 = true;
         }

         String var23 = var20;
         int var24 = var20.length();
         int var25 = 0;
         int var26 = 0;
         if (var24 == 0) {
            var13.a(false);
            return var13;
         } else {
            int var27 = -1;
            int var28 = -1;
            int var29 = -1;
            int var30 = -1;
            int var31 = -1;
            int var32 = -1;
            int var33 = -1;
            double var34 = -1.0D;
            int var36 = -1;
            byte var37 = -1;
            int var38 = -1;
            int var39 = -1;
            boolean var40 = true;

            while(true) {
               boolean var42;
               while(var19 != var0.length()) {
                  int var41 = 0;
                  zg var43;
                  if (var18 && var25 + var26 == 0) {
                     var42 = a(var0, var19);
                     if (var42) {
                        if (var0.charAt(var19) == 'Z') {
                           var41 = 1;
                        } else {
                           var41 = a(var0, var19, 0, "GMT").b();
                        }

                        if (var41 > 0 && !a(var0, var19 + var41)) {
                           var19 += var41;
                           var14 = true;
                           continue;
                        }
                     }

                     var43 = a(var0, var19, 0, var6, var3, var36);
                     var41 = var43.b();
                     var36 = var43.c();
                     if (var43.a()) {
                        if ("".equals(var2)) {
                           if (var31 == -1 && var32 == -1 && var33 == -1) {
                              var11 = "Am/Pm " + var1;
                           } else {
                              var11 = var1 + " Am/Pm";
                           }
                        } else if (var31 == -1 && var32 == -1 && var33 == -1) {
                           var11 = var1 + " Am/Pm " + var2;
                        } else {
                           var11 = var1 + " " + var2 + " Am/Pm";
                        }
                     }

                     if (!var21 && var43.a()) {
                        if (a(var0, var19 + var41)) {
                           var36 = -1;
                        } else if (var41 > 0) {
                           var19 += var41;
                           continue;
                        }
                     }

                     if (!var21 && var28 == -1 && var42) {
                        var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.a, com.aspose.cells.b.a.c.zb.a, var3);
                        var28 = var43.d();
                        var41 = var43.b();
                        if (var28 == -1) {
                           var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.b, com.aspose.cells.b.a.c.zb.b, var3);
                           var28 = var43.d();
                           var41 = var43.b();
                        }

                        if (var28 != -1 && !a(var0, var19 + var41)) {
                           var19 += var41;
                           continue;
                        }

                        var28 = -1;
                     }

                     if (Character.isWhitespace(var0.charAt(var19)) || var0.charAt(var19) == ',') {
                        ++var19;
                        continue;
                     }

                     var41 = 0;
                  }

                  if (var25 + var26 < var24) {
                     var42 = true;
                     if (var23.charAt(var25) == '\'') {
                        var26 = 1;

                        while(true) {
                           if (var25 + var26 < var24 && var23.charAt(var25 + var26) != '\'') {
                              if (var19 != var0.length() && var0.charAt(var19) == var23.charAt(var25 + var26)) {
                                 ++var19;
                                 ++var26;
                                 continue;
                              }

                              var13.a(false);
                              return var13;
                           }

                           var25 += var26 + 1;
                           var26 = 0;
                           break;
                        }
                     } else if (var23.charAt(var25) == '"') {
                        var26 = 1;

                        while(true) {
                           if (var25 + var26 < var24 && var23.charAt(var25 + var26) != '"') {
                              if (var19 != var0.length() && var0.charAt(var19) == var23.charAt(var25 + var26)) {
                                 ++var19;
                                 ++var26;
                                 continue;
                              }

                              var13.a(false);
                              return var13;
                           }

                           var25 += var26 + 1;
                           var26 = 0;
                           break;
                        }
                     } else if (var23.charAt(var25) == '\\') {
                        var25 += var26 + 1;
                        var26 = 0;
                        if (var25 >= var24) {
                           var13.a(false);
                           return var13;
                        }

                        if (var0.charAt(var19) != var23.charAt(var25)) {
                           var13.a(false);
                           return var13;
                        }

                        ++var19;
                        ++var25;
                     } else if (var23.charAt(var25) == '%') {
                        ++var25;
                     } else if (Character.isWhitespace(var0.charAt(var19)) || var0.charAt(var19) == ',' && (!var3 && var23.charAt(var25) == '/' || Character.isWhitespace(var23.charAt(var25)))) {
                        ++var19;
                        var26 = 0;
                        if (var3 && var7.c()) {
                           if (!Character.isWhitespace(var23.charAt(var25))) {
                              var13.a(false);
                              return var13;
                           }

                           ++var25;
                        } else {
                           int var51;
                           for(var51 = var19; var51 < var0.length() && (Character.isWhitespace(var0.charAt(var51)) || var0.charAt(var51) == ','); ++var51) {
                              ;
                           }

                           var19 = var51;

                           for(var51 = var25; var51 < var23.length() && (Character.isWhitespace(var23.charAt(var51)) || var23.charAt(var51) == ','); ++var51) {
                              ;
                           }

                           var25 = var51;
                           if (!var3 && var51 < var23.length() && var23.charAt(var51) == '/') {
                              zg var50 = b(var0, var19, var6, var3);
                              var41 = var50.b();
                              if (!var50.a()) {
                                 var25 = var51 + 1;
                              }
                           }
                        }
                     } else if (var25 + var26 + 1 < var24 && var23.charAt(var25 + var26 + 1) == var23.charAt(var25 + var26)) {
                        ++var26;
                     } else {
                        switch(var23.charAt(var25)) {
                        case '/':
                           var43 = b(var0, var19, var6, var3);
                           var41 = var43.b();
                           if (!var43.a()) {
                              var13.a(false);
                              return var13;
                           }

                           var26 = 0;
                           break;
                        case ':':
                           var43 = a(var0, var19, var6, var3);
                           var41 = var43.b();
                           if (!var43.a()) {
                              var13.a(false);
                              return var13;
                           }
                           break;
                        case 'F':
                           var42 = false;
                        case 'f':
                           if (var26 <= 6 && var34 == -1.0D) {
                              var43 = a(var0, var19, 0, var26 + 1, var42, var16);
                              double var49 = (double)var43.d();
                              var41 = var43.b();
                              if (var41 == -1) {
                                 var13.a(false);
                                 return var13;
                              }

                              var34 = var49 / Math.pow(10.0D, (double)var41);
                              break;
                           }

                           var13.a(false);
                           return var13;
                        case 'G':
                           if (var0.charAt(var19) != 'G') {
                              var13.a(false);
                              return var13;
                           }

                           if (var25 + 2 < var24 && var19 + 2 < var0.length() && var23.charAt(var25 + 1) == 'M' && var0.charAt(var19 + 1) == 'M' && var23.charAt(var25 + 2) == 'T' && var0.charAt(var19 + 2) == 'T') {
                              var14 = true;
                              var26 = 2;
                              var41 = 3;
                           } else {
                              var26 = 0;
                              var41 = 1;
                           }
                           break;
                        case 'H':
                           if (var31 != -1 || !var18 && var36 >= 0) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var31 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var31 = var43.d();
                              var41 = var43.b();
                           }

                           if (var31 >= 24) {
                              var13.a(false);
                              return var13;
                           }
                           break;
                        case 'K':
                           if (var0.charAt(var19) == 'Z') {
                              ++var19;
                              var14 = true;
                           } else if (var0.charAt(var19) == '+' || var0.charAt(var19) == '-') {
                              if (var37 != -1) {
                                 var13.a(false);
                                 return var13;
                              }

                              if (var0.charAt(var19) == '+') {
                                 var37 = 0;
                              } else if (var0.charAt(var19) == '-') {
                                 var37 = 1;
                              }

                              ++var19;
                              var43 = a(var0, var19, 0, 2, true, var16);
                              var38 = var43.d();
                              var41 = var43.b();
                              var19 += var41;
                              if (var41 < 0) {
                                 var13.a(false);
                                 return var13;
                              }

                              if (Character.isDigit(var0.charAt(var19))) {
                                 var41 = 0;
                              } else {
                                 var43 = a(var0, var19, 0, var6.f);
                                 var41 = var43.b();
                                 if (!var43.a()) {
                                    var13.a(false);
                                    return var13;
                                 }
                              }

                              var19 += var41;
                              var43 = a(var0, var19, 0, 2, true, var16);
                              var39 = var43.d();
                              var41 = var43.b();
                              var26 = 2;
                              if (var41 < 0) {
                                 var13.a(false);
                                 return var13;
                              }
                           }
                           break;
                        case 'M':
                           if (var29 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var18) {
                              var41 = -1;
                              if (var26 == 0 || var26 == 3) {
                                 var43 = a(var0, var19, 1, 2, false, var16);
                                 var29 = var43.d();
                                 var41 = var43.b();
                                 if (var41 > 0) {
                                    var12 = "M";
                                 }
                              }

                              if (var26 > 1 && var41 == -1) {
                                 var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.c, com.aspose.cells.b.a.c.zb.c, var3);
                                 var29 = var43.d() + 1;
                                 var41 = var43.b();
                                 if (var41 > 0) {
                                    var12 = "MMMMM";
                                 }
                              }

                              if (var26 > 1 && var41 == -1) {
                                 var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.d, com.aspose.cells.b.a.c.zb.d, var3);
                                 var29 = var43.d() + 1;
                                 var41 = var43.b();
                                 if (var41 > 0) {
                                    var12 = "MMM";
                                 }
                              }
                           } else if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var29 = var43.d();
                              var41 = var43.b();
                           } else if (var26 == 1) {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var29 = var43.d();
                              var41 = var43.b();
                           } else if (var26 == 2) {
                              var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.d, com.aspose.cells.b.a.c.zb.d, var3);
                              var29 = var43.d() + 1;
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.c, com.aspose.cells.b.a.c.zb.c, var3);
                              var29 = var43.d() + 1;
                              var41 = var43.b();
                           }
                           break;
                        case 'Z':
                           if (var0.charAt(var19) != 'Z') {
                              var13.a(false);
                              return var13;
                           }

                           var26 = 0;
                           var41 = 1;
                           var14 = true;
                           break;
                        case 'd':
                           if (var26 < 2 && var27 != -1 || var26 >= 2 && var28 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var27 = var43.d();
                              var41 = var43.b();
                           } else if (var26 == 1) {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var27 = var43.d();
                              var41 = var43.b();
                           } else if (var26 == 2) {
                              var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.b, com.aspose.cells.b.a.c.zb.b, var3);
                              var28 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, com.aspose.cells.b.a.c.zb.a, com.aspose.cells.b.a.c.zb.a, var3);
                              var28 = var43.d();
                              var41 = var43.b();
                           }
                           break;
                        case 'h':
                           if (var31 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var31 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var31 = var43.d();
                              var41 = var43.b();
                           }

                           if (var31 > 12) {
                              var13.a(false);
                              return var13;
                           }

                           if (var31 == 12) {
                              var31 = 0;
                           }
                           break;
                        case 'm':
                           if (var32 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var32 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var32 = var43.d();
                              var41 = var43.b();
                           }

                           if (var32 >= 60) {
                              var13.a(false);
                              return var13;
                           }
                           break;
                        case 's':
                           if (var33 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var33 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var33 = var43.d();
                              var41 = var43.b();
                           }

                           if (var33 >= 60) {
                              var13.a(false);
                              return var13;
                           }
                           break;
                        case 't':
                           var43 = a(var0, var19, var26 > 0 ? 0 : 1, var6, var3, var36);
                           var41 = var43.b();
                           var36 = var43.c();
                           if (!var43.a()) {
                              var13.a(false);
                              return var13;
                           }

                           if (!"".equals(var2)) {
                              if (var31 == -1 && var32 == -1 && var33 == -1) {
                                 var11 = var1 + " Am/Pm " + var2;
                              } else {
                                 var11 = var1 + " " + var2 + " Am/Pm";
                              }
                           } else if (var31 == -1 && var32 == -1 && var33 == -1) {
                              var11 = "Am/Pm " + var1;
                           } else {
                              var11 = var1 + " Am/Pm";
                           }
                           break;
                        case 'y':
                           if (var30 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var30 = var43.d();
                              var41 = var43.b();
                           } else if (var26 < 3) {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var30 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, var3 ? 4 : 3, 4, false, var16);
                              var30 = var43.d();
                              var41 = var43.b();
                              if (var30 >= 1000 && var41 == 4 && !var13.e() && var0.length() > 4 + var19) {
                                 var43 = a(var0, var19, 5, 5, false, var16);
                                 int var44 = var43.d();
                                 var13.c(var44 > 9999);
                              }

                              var26 = 3;
                           }

                           if (var41 < 4 && var30 < 100 && var30 >= 0) {
                              var30 += var30 < 30 ? 2000 : 1900;
                           }
                           break;
                        case 'z':
                           if (var37 != -1) {
                              var13.a(false);
                              return var13;
                           }

                           if (var0.charAt(var19) == '+') {
                              var37 = 0;
                           } else {
                              if (var0.charAt(var19) != '-') {
                                 var13.a(false);
                                 return var13;
                              }

                              var37 = 1;
                           }

                           ++var19;
                           if (var26 == 0) {
                              var43 = a(var0, var19, 1, 2, false, var16);
                              var38 = var43.d();
                              var41 = var43.b();
                           } else if (var26 == 1) {
                              var43 = a(var0, var19, 1, 2, true, var16);
                              var38 = var43.d();
                              var41 = var43.b();
                           } else {
                              var43 = a(var0, var19, 1, 2, true, true);
                              var38 = var43.d();
                              var41 = var43.b();
                              var19 += var41;
                              if (var41 < 0) {
                                 var13.a(false);
                                 return var13;
                              }

                              var43 = a(var0, var19, var6, var3);
                              var41 = var43.b();
                              if ((var19 >= var0.length() || !Character.isDigit(var0.charAt(var19))) && !var43.a()) {
                                 if (!var18) {
                                    var13.a(false);
                                    return var13;
                                 }

                                 var41 = 0;
                              } else {
                                 var19 += var41;
                                 var43 = a(var0, var19, 1, 2, true, var16);
                                 var39 = var43.d();
                                 var41 = var43.b();
                                 if (var41 < 0) {
                                    var13.a(false);
                                    return var13;
                                 }
                              }
                           }
                           break;
                        default:
                           if (var0.charAt(var19) != var23.charAt(var25)) {
                              var13.a(false);
                              return var13;
                           }

                           var26 = 0;
                           var41 = 1;
                        }

                        if (var41 < 0) {
                           var13.a(false);
                           return var13;
                        }

                        var19 += var41;
                        if (!var3 && !var18) {
                           switch(var23.charAt(var25)) {
                           case 'F':
                           case 'f':
                           case 'm':
                           case 's':
                           case 'z':
                              if (var0.length() > var19 && var0.charAt(var19) == 'Z' && (var25 + 1 == var23.length() || var23.charAt(var25 + 1) != 'Z')) {
                                 var14 = true;
                                 ++var19;
                              }
                           }
                        }

                        var25 = var25 + var26 + 1;
                        var26 = 0;
                     }
                  } else {
                     if (!var18 || var26 != 0) {
                        break;
                     }

                     var21 = var40 && var1.charAt(var1.length() - 1) == 'T';
                     if (!var40 && var20 == "") {
                        break;
                     }

                     var25 = 0;
                     if (var40) {
                        var20 = var2;
                     } else {
                        var20 = "";
                     }

                     var23 = var20;
                     var24 = var20.length();
                     var40 = false;
                     if (!var8 || var20 == "") {
                        boolean var17 = true;
                     }
                  }
               }

               if (var25 + 1 < var24 && var23.charAt(var25) == '.' && var23.charAt(var25 + 1) == 'F') {
                  ++var25;

                  while(var25 < var24 && var23.charAt(var25) == 'F') {
                     ++var25;
                  }
               }

               while(var25 < var24 && var23.charAt(var25) == 'K') {
                  ++var25;
               }

               if (var25 < var24) {
                  var13.a(false);
                  return var13;
               }

               if (var0.length() > var19) {
                  if (var19 == 0) {
                     var13.a(false);
                     return var13;
                  }

                  if (Character.isDigit(var0.charAt(var19)) && Character.isDigit(var0.charAt(var19 - 1))) {
                     var13.a(false);
                     return var13;
                  }

                  if (Character.isLetter(var0.charAt(var19)) && Character.isLetter(var0.charAt(var19 - 1))) {
                     var13.a(false);
                     return var13;
                  }

                  var13.b(true);
                  var13.a(false);
                  return var13;
               }

               if (var31 == -1) {
                  var31 = 0;
               }

               if (var32 == -1) {
                  var32 = 0;
               }

               if (var33 == -1) {
                  var33 = 0;
               }

               if (var34 == -1.0D) {
                  var34 = 0.0D;
               }

               if (var27 == -1 && var29 == -1 && var30 == -1) {
                  if (var7.d()) {
                     var27 = 1;
                     var29 = 1;
                     var30 = 1;
                  } else {
                     var27 = DateTime.getNow().getDay();
                     var29 = DateTime.getNow().getMonth();
                     var30 = DateTime.getNow().getYear();
                  }
               }

               if (var27 == -1) {
                  var27 = 1;
               }

               if (var29 == -1) {
                  var29 = 1;
               }

               if (var30 == -1) {
                  if (var7.d()) {
                     var30 = 1;
                  } else {
                     var30 = DateTime.getNow().getYear();
                  }
               }

               if (var36 == 0 && var31 == 12) {
                  var31 = 0;
               }

               if (var36 == 1 && (!var18 || var31 < 12)) {
                  var31 += 12;
               }

               if (var30 >= 1 && var30 <= 9999 && var29 >= 1 && var29 <= 12 && var27 >= 1 && var27 <= DateTime.a(var30, var29) && var31 >= 0 && var31 <= 23 && var32 >= 0 && var32 <= 59 && var33 >= 0 && var33 <= 59) {
                  var13.a(new DateTime(var30, var29, var27, var31, var32, var33, 0));
                  var13.b().addSeconds(var34);
                  if (var28 != -1 && var28 != var13.b().getDayOfWeek()) {
                     var13.a(false);
                     return var13;
                  }

                  if (var37 == -1) {
                     if (var13.b() != DateTime.a) {
                        try {
                           var13.a(new zb(var13.b()));
                        } catch (Exception var47) {
                           ;
                        }
                     }
                  } else {
                     if (var39 == -1) {
                        var39 = 0;
                     }

                     if (var38 == -1) {
                        var38 = 0;
                     }

                     if (var37 == 1) {
                        var38 = -var38;
                        var39 = -var39;
                     }

                     try {
                        var13.a(new zb(var13.b(), new zk(var38, var39, 0)));
                     } catch (Exception var46) {
                        ;
                     }
                  }

                  boolean var52 = var7.e();
                  if (var37 != -1) {
                     long var48 = var13.b().e() - var13.c().a();
                     if (var48 < 0L) {
                        var48 += 864000000000L;
                     }

                     var13.a(new DateTime());
                     var13.b().c(1L);
                     if (var7.f()) {
                        var13.a(var4.toLocalTime());
                     }
                  } else if (!var14 && !var7.g()) {
                     if (var7.h()) {
                        var13.b().c(2L);
                     }
                  } else {
                     var13.b().c(1L);
                  }

                  var42 = !var52 && var7.f();
                  if (var13.b().c() != 0L) {
                     if (var52) {
                        var13.a(var4.toUniversalTime());
                     } else if (var42) {
                        var13.a(var4.toLocalTime());
                     }
                  }

                  if (var11 == null) {
                     if (var1.endsWith("T")) {
                        var11 = var1 + var2;
                     } else {
                        var11 = var1 + " " + var2;
                     }
                  }

                  if (var12 != null) {
                     var11 = var11.replaceAll("M+", var12);
                  }

                  var11 = var11.replace("Am/Pm", "AM/PM");
                  var13.a(var11);
                  var13.a(true);
                  return var13;
               }

               var13.a(false);
               return var13;
            }
         }
      }
   }

   private static boolean a(String var0, int var1) {
      return var1 >= 0 && var1 < var0.length() && Character.isLetter(var0.charAt(var1));
   }

   private static String[] a(com.aspose.cells.b.a.c.zb var0) {
      int var1 = var0.e.indexOf(100);
      int var2 = var0.e.indexOf(77);
      int var3 = var0.e.indexOf(121);
      if (var1 != -1 && var2 != -1 && var3 != -1) {
         if (var3 < var2) {
            if (var2 < var1) {
               return c;
            } else {
               return var3 < var1 ? b : null;
            }
         } else if (var1 < var2) {
            return d;
         } else {
            return var1 < var3 ? e : null;
         }
      } else {
         return null;
      }
   }

   public static za a(String var0, com.aspose.cells.b.a.c.za var1, zd var2, DateTime var3, zb var4) {
      za var5 = new za();
      var4 = new zb(0, zk.a);
      if (var0 != null && var0.length() != 0) {
         if (var1 == null) {
            var1 = com.aspose.cells.b.a.c.za.a();
         }

         com.aspose.cells.b.a.c.zb var7 = new com.aspose.cells.b.a.c.zb(var1);
         String[] var8 = a(var7);
         if (var8 == null) {
            var5.a(DateTime.a);
            var5.a(false);
            var5.a(var4);
            return var5;
         } else {
            boolean var9 = false;

            zf var6;
            int var10;
            boolean var12;
            for(var10 = 0; var10 < var8.length; ++var10) {
               String var11 = var8[var10];
               var12 = false;
               var6 = a(var0, var11, "", false, var3, var4, var7, var2, true, var12, var9);
               if (var6.a()) {
                  var5.a(var6.b());
                  var5.a(true);
                  var5.a(var6.c());
                  var5.a(var6.f());
                  return var5;
               }

               if (var6.d()) {
                  for(int var13 = 0; var13 < a.length; ++var13) {
                     var6 = a(var0, var11, a[var13], false, var3, var4, var7, var2, true, var12, var9);
                     if (var6.a()) {
                        var5.a(var6.b());
                        var5.a(true);
                        var5.a(var6.c());
                        var5.a(var6.f());
                        return var5;
                     }
                  }
               }
            }

            var10 = var7.i.indexOf(100);
            int var19 = var7.i.indexOf(77);
            if (var10 != -1 && var19 != -1) {
               var12 = var10 < var19;
               String[] var20 = var12 ? g : f;

               int var14;
               for(var14 = 0; var14 < var20.length; ++var14) {
                  boolean var15 = false;
                  var6 = a(var0, var20[var14], "", false, var3, var4, var7, var2, true, var15, var9);
                  if (var6.a()) {
                     var5.a(var6.b());
                     var5.a(true);
                     var5.a(var6.c());
                     var5.a(var6.f());
                     return var5;
                  }
               }

               for(var14 = 0; var14 < a.length; ++var14) {
                  String var21 = a[var14];
                  boolean var16 = false;
                  var6 = a(var0, var21, "", false, var3, var4, var7, var2, false, var16, var9);
                  if (var6.a()) {
                     var5.a(var6.b());
                     var5.a(true);
                     var5.a(var6.c());
                     var5.a(var6.f());
                     return var5;
                  }

                  if (var6.d()) {
                     int var17;
                     for(var17 = 0; var17 < var20.length; ++var17) {
                        var6 = a(var0, var21, var20[var17], false, var3, var4, var7, var2, false, var16, var9);
                        if (var6.a()) {
                           var5.a(var6.b());
                           var5.a(true);
                           var5.a(var6.c());
                           var5.a(var6.f());
                           return var5;
                        }
                     }

                     for(var17 = 0; var17 < var8.length; ++var17) {
                        String var18 = var8[var17];
                        if (var18.charAt(var18.length() - 1) != 'T') {
                           var6 = a(var0, var21, var18, false, var3, var4, var7, var2, false, var16, var9);
                           if (var6.a()) {
                              var5.a(var6.b());
                              var5.a(true);
                              var5.a(var6.c());
                              var5.a(var6.f());
                              return var5;
                           }
                        }
                     }
                  }
               }

               var6 = a(var0, var7.f(), var7, var2, var3, false, var9);
               if (var6.a()) {
                  var5.a(var6.b());
                  var5.a(true);
                  var5.a(var6.c());
                  var5.a(var6.f());
                  return var5;
               } else {
                  var5.a(DateTime.a);
                  var5.a(false);
                  var5.a(var4);
                  return var5;
               }
            } else {
               var5.a(DateTime.a);
               var5.a(false);
               var5.a(var4);
               return var5;
            }
         }
      } else {
         var5.a(DateTime.a);
         var5.a(false);
         var5.a(var4);
         return var5;
      }
   }

   private static zf a(String var0, String[] var1, com.aspose.cells.b.a.c.zb var2, zd var3, DateTime var4, boolean var5, boolean var6) {
      zf var7 = null;
      boolean var9 = false;

      for(int var8 = 0; var8 < var1.length; ++var8) {
         DateTime var10 = null;
         String var11 = var1[var8];
         if (var11 == null || "".equals(var11)) {
            break;
         }

         zb var12 = null;
         var7 = a(var0, var1[var8], (String)null, var5, var10, var12, var2, var3, false, var9, var6);
         var10 = var7.b();
         var12 = var7.c();
         if (var7.a()) {
            return var7;
         }
      }

      if (var7 == null) {
         var7 = new zf();
      }

      var7.a(DateTime.a);
      return var7;
   }

   private static zg a(String var0, int var1, com.aspose.cells.b.a.c.zb var2, boolean var3) {
      zg var4 = new zg();
      zg var5 = a(var0, var1, 0, ":");
      var4.a(var5.b());
      var4.a(a(var0, var1, 0, var2.f).a() || !var3 && var5.a());
      return var4;
   }

   private static zg a(String var0, int var1, int var2, int var3, boolean var4, boolean var5) {
      zg var6 = new zg();
      int var7 = 0;
      if (var5) {
         var4 = false;
      }

      int var8;
      if (!var4) {
         int var9 = 0;

         for(var8 = var1; var8 < var0.length() && var8 < var3 + var1 && Character.isDigit(var0.charAt(var8)); ++var8) {
            ++var9;
         }

         var3 = var9;
      }

      if (var3 < var2) {
         var6.a(-1);
         var6.c(0);
         return var6;
      } else if (var0.length() - var1 < var3) {
         var6.a(-1);
         var6.c(0);
         return var6;
      } else {
         for(var8 = var1; var8 < var3 + var1; ++var8) {
            char var10 = var0.charAt(var8);
            if (!Character.isDigit(var10)) {
               var6.a(-1);
               var6.c(0);
               return var6;
            }

            var7 = var7 * 10 + (byte)(var10 - 48);
         }

         var6.a(var3);
         var6.c(var7);
         return var6;
      }
   }

   private static zg b(String var0, int var1, com.aspose.cells.b.a.c.zb var2, boolean var3) {
      zg var4 = new zg();
      var4.a(-1);
      if (var3 && var0.charAt(var1) != '/') {
         var4.a(false);
         return var4;
      } else {
         zg var5 = a(var0, var1, var2, var3);
         var4.a(var5.b());
         if (var5.a()) {
            var4.a(false);
            return var4;
         } else if (Character.isDigit(var0.charAt(var1))) {
            if (var1 - 1 >= 0 && Character.isDigit(var0.charAt(var1 - 1))) {
               var4.a(false);
               return var4;
            } else {
               var4.a(0);
               var4.a(true);
               return var4;
            }
         } else if (Character.isLetter(var0.charAt(var1))) {
            if (var1 - 1 >= 0 && Character.isLetter(var0.charAt(var1 - 1))) {
               var4.a(false);
               return var4;
            } else {
               var4.a(0);
               var4.a(true);
               return var4;
            }
         } else {
            var4.a(1);
            var4.a(true);
            return var4;
         }
      }
   }

   private static zg a(String var0, int var1, String[] var2, String[] var3, boolean var4) {
      zg var5 = new zg();

      for(int var7 = var2.length - 1; var7 >= 0; --var7) {
         zg var6;
         if (!var4 && var3[var7].length() > var2[var7].length()) {
            var6 = a(var0, var1, 0, var3[var7]);
            var5.a(var6.b());
            if (var3[var7].length() > 0 && var6.a()) {
               var5.c(var7);
               return var5;
            }

            var6 = a(var0, var1, 0, var2[var7]);
            var5.a(var6.b());
            if (var2[var7].length() > 0 && var6.a()) {
               var5.c(var7);
               return var5;
            }
         } else {
            var6 = a(var0, var1, 0, var2[var7]);
            var5.a(var6.b());
            if (var2[var7].length() > 0 && var6.a()) {
               var5.c(var7);
               return var5;
            }

            var6 = a(var0, var1, 0, var3[var7]);
            var5.a(var6.b());
            if (!var4 && var3[var7].length() > 0 && var6.a()) {
               var5.c(var7);
               return var5;
            }
         }
      }

      var5.c(-1);
      var5.a(-1);
      return var5;
   }

   private static zg a(String var0, int var1, int var2, com.aspose.cells.b.a.c.zb var3, boolean var4, int var5) {
      zg var6 = new zg();
      var6.a(-1);
      if (var5 != -1) {
         var6.b(var5);
         var6.a(false);
         return var6;
      } else {
         var6.b(var5);
         if (!a(var0, var1)) {
            if (!"".equals(var3.g)) {
               var6.a(false);
               return var6;
            } else {
               if (var4) {
                  var6.b(0);
               }

               var6.a(0);
               var6.a(true);
               return var6;
            }
         } else {
            com.aspose.cells.b.a.c.zb var7 = com.aspose.cells.b.a.c.zb.b();
            zg var8 = a(var0, var1, var2, var3.h);
            if (!var8.a() && !var4) {
               var8 = a(var0, var1, var2, var7.h);
            }

            var6.a(var8.b());
            if (var8.a() && (var4 || var6.b() != 0)) {
               var6.b(1);
            } else {
               var8 = a(var0, var1, var2, var3.g);
               if (!var8.a() && !var4) {
                  var8 = a(var0, var1, var2, var7.g);
               }

               var6.a(var8.b());
               if (!var8.a() || !var4 && var6.b() == 0) {
                  var6.a(false);
                  return var6;
               }

               var6.b(0);
            }

            var6.a(true);
            return var6;
         }
      }
   }

   private static zg a(String var0, int var1, int var2, String var3) {
      zg var4 = new zg();
      if (var2 <= 0) {
         var2 = var3.length();
      }

      if (var1 + var2 <= var0.length() && a(var0, var1, var3, 0, var2, true, com.aspose.cells.b.a.c.za.b()) == 0) {
         var4.a(var2);
         var4.a(true);
         return var4;
      } else {
         var4.a(-1);
         var4.a(false);
         return var4;
      }
   }

   private static int a(String var0, int var1, String var2, int var3, int var4, boolean var5, com.aspose.cells.b.a.c.za var6) {
      if (var0 != null && var2 != null) {
         String var7 = var0.substring(var1, var1 + var4 > var0.length() ? var0.length() : var1 + var4);
         String var8 = var2.substring(var3, var3 + var4 > var2.length() ? var2.length() : var3 + var4);
         return var5 ? var7.compareToIgnoreCase(var8) : var7.compareTo(var8);
      } else {
         return 0;
      }
   }
}
